package org.util.aop;

import java.lang.reflect.Method;

import org.springframework.aop.AfterReturningAdvice;
import org.springframework.aop.MethodBeforeAdvice;

public class Advisor {

	public class AfterAdvice1 implements AfterReturningAdvice {

		public void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable {
			System.out.println("AfterAdvice1.afterReturning() execute ");
		}
	}

	//
	public class AfterAdvice2 implements AfterReturningAdvice {

		public void afterReturning(Object returnValue, Method method, Object[] args, Object target) throws Throwable {
			System.out.println("AfterAdvice2.afterReturning() execute ");

		}
	}

	public class BeforeAdvice1 implements MethodBeforeAdvice {
		public void before(Method method, Object[] args, Object target) throws Throwable {
			System.out.println("BeforeAdvice1.before() execute ");
		}
	}

	public class BeforeAdvice2 implements MethodBeforeAdvice {

		public void before(Method method, Object[] args, Object target) throws Throwable {
			System.out.println("BeforeAdvice2.before() execute ");
		}

	}
}
